<template>
  <!-- swiper 组件 : 是组件最外层的容器 -->
  <!-- swiper-slide 组件: 是一个轮播图,单个轮播图 -->
  <!-- options : 是组件的配置项 通过 props 来传递的 -->
  <swiper class="swiper" :options="swiperOption">
    <swiper-slide>Slide 1</swiper-slide>
    <swiper-slide>Slide 2</swiper-slide>
    <swiper-slide>Slide 3</swiper-slide>
    <swiper-slide>Slide 4</swiper-slide>
    <!-- 展示轮播图下方的小圆点 -->
    <div class="swiper-pagination" slot="pagination"></div>
    <!-- 展示左右两边的切换箭头 -->
    <div class="swiper-button-prev" slot="button-prev"></div>
    <div class="swiper-button-next" slot="button-next"></div>
  </swiper>
</template>

<script>
// 导入组件
import { Swiper, SwiperSlide } from 'vue-awesome-swiper'
// 导入swiper 相关css样式
import 'swiper/css/swiper.css'

export default {
  name: 'VTest',
  // 将组件注册
  components: {
    Swiper,
    SwiperSlide
  },
  data() {
    return {
      // Swiper 组件的配置项，通过 props 的方式传递给 Swiper 组件
      // Swiper 组件接收到这些配置项，就能够按照配置项展示轮播图
      // 多翻阅 swiper 的官方文档
      swiperOption: {
        slidesPerView: 1, // 一屏展示几张 轮播图,假设是2 就是一个屏幕展示两张轮播图
        spaceBetween: 30, // 每张轮播图之间的间隙
        loop: true, // 轮播图是否采用 无线循环模式,就是到最后一张再滑动就展示第一张
        // autoplay: true, // 是否自动播放,也可以将值写成一个对象

        autoplay: {
          delay: 1000 // 设置当前轮播图自动播放(按照一秒一切换)
        },
        // 对轮播图小圆点指示器进行配置
        pagination: {
          el: '.swiper-pagination', // 就将小圆点指示器放到哪一个元素中
          clickable: true // 点击小圆点是否能切换轮播图
        },

        // 设置上一张、下一张对应的容器元素是谁
        navigation: {
          nextEl: '.swiper-button-next',
          prevEl: '.swiper-button-prev'
        }
      }
    }
  }
}
</script>

<style lang="less" scoped>
.swiper {
  height: 300px;
}
</style>
